Archive-Restore and Module Views created using the "Analysis Wizard"

Hi All,
As the subject of this post suggests, this is with regard to views created by the "analysis wizard" to show traceability between requirements across modules. When modules have such views and have links between them, and are archived and restored as part of a project on to another database, the views created by the "analysis wizard" do not pull in the appropriate data since it the layout dxl in these views reference static IDs of modules that are not valid in the new DOORS database. Is this correct?

I realize that modifying layout dxl such that instead of referencing static modules IDs, the module ID can be generated "on the fly" and then can be used to pull in the appropriate information. Is this the best way to account for the issue I highlighted in the earlier paragraph of this post? Furthermore, does anyone have the dxl code required to generated the module ID on the fly. I mean, I can do this myself but if anyone has this code snippet lying around, I figured I could leverage off your generosity (me and my sense of entitlement!!!).

Any responses to this post will be highly appreciated. Thank you in advance.

Regards,

Pranav
PranavC - Tue Sep 15 17:03:56 EDT 2009

Re: Archive-Restore and Module Views created using the "Analysis Wizard"
llandale - Tue Sep 15 18:01:42 EDT 2009

First off: don't forget to relink the modules in the target database after restoring them there. (Unless you meant you are restoring whole the project).

Yes, that's a VERY annoying feature of these layouts. It lets you link to the same module even if you rename or move it; but sheesh, I think I'd rather just link to the module name.

You can get the unique ID of a module this way:

string NameDesiredTarget = 
"/MyProject/MyFolder/MyModule" Item   itm = item (NameDesiredTarget) 

if (

null itm) 
{  halt  
// I guess display(
"No such link module '" NameDesiredTarget 
"'") 
// perhaps 
} string ModID = uniqueID(itm)   I went through 

this once and decided to change all the original layouts such that they just use module names and don
't bother with the UniqueIDs.  Not sure if that's better or not.   - Louie

There is also qualifiedUniqueID() but you don't need that.

Re: Archive-Restore and Module Views created using the "Analysis Wizard"
PranavC - Wed Sep 16 09:54:28 EDT 2009

llandale - Tue Sep 15 18:01:42 EDT 2009
First off: don't forget to relink the modules in the target database after restoring them there. (Unless you meant you are restoring whole the project).

Yes, that's a VERY annoying feature of these layouts. It lets you link to the same module even if you rename or move it; but sheesh, I think I'd rather just link to the module name.

You can get the unique ID of a module this way:


string NameDesiredTarget = 
"/MyProject/MyFolder/MyModule" Item   itm = item (NameDesiredTarget) 

if (

null itm) 
{  halt  
// I guess display(
"No such link module '" NameDesiredTarget 
"'") 
// perhaps 
} string ModID = uniqueID(itm)   I went through 

this once and decided to change all the original layouts such that they just use module names and don
't bother with the UniqueIDs.  Not sure if that's better or not.   - Louie

There is also qualifiedUniqueID() but you don't need that.

Thank you so much. I had a hunch that the code snipped you attached would be the answer to this but I just wanted to make sure. Getting a response from the master himself (i.e. you) confirming my hunch is what I needed. Thank you very much!!!

Re: Archive-Restore and Module Views created using the "Analysis Wizard"
PranavC - Fri Sep 18 16:04:53 EDT 2009

Hello,
This is a follow-up to my earlier post. So this is what I am trying to develop a DXL script to do the following:

a. Search through all layout dxl columns created by the DOORS analysis wizard.

b. Tweak the layout dxl such that the static module ID references are replaced by variables that capture the unique ID the module that is being referenced.

Here is an illustration of this step:

I first want to find the following line in the layout DXL column.
string limitModules[4] = {"1000045","1000045", "1000045","1000045"}

The 1000045 value is the unique ID of the module being referenced. Now, I would like to replace this value with a string value called "moduleID" wherein moduleID captures the unique ID of the module being referenced. The point is, I want to replace the static ID with a variable.

My question is: Has anyone tried creating a DXL script that tweaks layout DXL columns in the way that I have described above? Is it possible to tweak layout DXL with DXL scripts?

Any input will be highly appreciated. Thank you in advance.